Missing values বা অনুপস্থিত মান একটি সাধারণ সমস্যা ডেটা সায়েন্স এবং মেশিন লার্নিং প্রকল্পে। সঠিকভাবে মিসিং ভ্যালু পরিচালনা করা মডেলের কার্যকারিতা এবং স্থায়িত্ব নিশ্চিত করার জন্য গুরুত্বপূর্ণ। এখানে আমি একটি উদাহরণ দিয়ে দেখাব কিভাবে মিসিং ভ্যালু পরিচালনা করা যায়।
প্রথমে একটি উদাহরণ ডেটাসেট তৈরি করা হবে, যেখানে কিছু মিসিং ভ্যালু রয়েছে।
import pandas as pd
# উদাহরণ ডেটা তৈরি করা
data = {
'feature1': [1, 2, None, 4, 5], # মিসিং ভ্যালু
'feature2': ['A', 'B', 'A', None, 'B'], # মিসিং ভ্যালু
'label': [0, 1, 0, 1, 0]
}
df = pd.DataFrame(data)
print("Original Data:")
print(df)
ডেটাসেটে মিসিং ভ্যালু চিহ্নিত করা।
# মিসিং ভ্যালু চিহ্নিতকরণ
missing_values = df.isnull().sum()
print("\nMissing Values Count:")
print(missing_values)
CatBoost মডেল ব্যবহার করা হবে, যা স্বয়ংক্রিয়ভাবে মিসিং ভ্যালু পরিচালনা করতে পারে।
from catboost import CatBoostClassifier
# ফিচার এবং লেবেল নির্ধারণ
X = df[['feature1', 'feature2']]
y = df['label']
# CatBoostClassifier তৈরি করা
model = CatBoostClassifier(iterations=100, depth=3, learning_rate=0.1, loss_function='Logloss', verbose=0)
# মডেল প্রশিক্ষণ
model.fit(X, y)
# নতুন ডেটার উপর পূর্বাভাস
predictions = model.predict([[None, 'A']]) # মিসিং ভ্যালু সহ
print("\nPredictions for input with missing value:", predictions)
যদি আপনি CatBoost ব্যবহার না করেন এবং মিসিং ভ্যালু পূরণ করতে চান, তবে কিছু জনপ্রিয় কৌশল ব্যবহার করা যেতে পারে, যেমন:
# feature1 এর জন্য গড় বের করা
mean_value = df['feature1'].mean()
# মিসিং ভ্যালু পূরণ করা
df['feature1'].fillna(mean_value, inplace=True)
# feature2 এর জন্য 'Unknown' দিয়ে পূরণ করা
df['feature2'].fillna('Unknown', inplace=True)
print("\nData after Imputation:")
print(df)
মিসিং ভ্যালু পরিচালনা করা একটি গুরুত্বপূর্ণ পদক্ষেপ, যা মডেলের কার্যকারিতা এবং ফলাফলকে প্রভাবিত করতে পারে। CatBoost মডেলটি মিসিং ভ্যালু পরিচালনার জন্য স্বয়ংক্রিয়ভাবে সমাধান প্রদান করে, তবে আপনি যদি মডেলের জন্য মিসিং ডেটা পূরণ করতে চান তবে বিভিন্ন কৌশল যেমন গড় বা মধ্যমা দ্বারা পূরণ করা এবং নতুন বৈশিষ্ট্য তৈরি করা কার্যকরী হতে পারে।
আরও দেখুন...